package com.example.demo.constant;

public class BaseConstant {

    /**
     * 规则  标准规则
     */
    public static final String STANDARDS_RULE = "STD";

    /**
     * SQL/NoSQL类型
     */
    public static final String SQL = "SQL";
    public static final String NoSQL = "NoSQL";

    /**
     * 数据源类型
     */
    public static final String MYSQL = "MYSQL";
    public static final String ORACLE = "ORACLE";
    public static final String POSTGRES = "POSTGRES";
    public static final String DM = "DM";
    public static final String HDFS = "HDFS";
    public static final String KAFKA = "KAFKA";

    /**
     * 密码加解密密钥
     */
    public static final String PW_KEY = "EBD0B5D2-F4E7-453A-9E16-01AE8F6E";

    /**
     * 标准参考数据类型
     */
    public static final String IS_LEAF = "Y"; //是否末级
    public static final String IN_USE = "1";//是否使用中
    public static final String ENABLE = "0";//启用状态 逻辑删除

    /**
     * 属性治理规则
     */
    public static final String REFERENCE_VALIDATE = "cksjjy"; //参考数据校验
    public static final String IF_COMMON = "1";//是通用规则标识

    /**
     * 元数据相关常量
     */
    public interface MetaData {
        /**
         * redis缓存Key-元数据同步上一次人工执行时间
         */
        String REDIS_METADATA_SYNC_TIME = "METADATA_SYNC_TIME";

        /**
         * 数据源状态，枚举：0-自动同步，1-自动同步且经过人工修改，2-人工新增
         */
        String DATA_STATUS_AUTO = "0";

        /**
         * 状态，枚举：0-自动同步，1-自动同步且经过人工修改，2-人工新增
         */
        String DATA_STATUS_MODIFIED = "1";

        /**
         * 状态，枚举：0-自动同步，1-自动同步且经过人工修改，2-人工新增
         */
        String DATA_STATUS_ARTIFICIAL = "2";

        /**
         * 元数据中间主键和最终表主键的映射类型，枚举：0-数据源，1-元数据表，2-元数据（字段）
         */
        String ID_MAPPING_TYPE_DS = "0";

        /**
         * 元数据中间主键和最终表主键的映射类型，枚举：0-数据源，1-元数据表，2-元数据（字段）
         */
        String ID_MAPPING_TYPE_TABLE = "1";

        /**
         * 元数据中间主键和最终表主键的映射类型，枚举：0-数据源，1-元数据表，2-元数据（字段）
         */
        String ID_MAPPING_TYPE_METADATA = "2";
    }

    /**
     * STATUS——启用状态
     */
    public static final String ON = "1";

    /**
     * STATUS——停用状态
     */
    public static final String OFF = "0";
}
